package com.ruoyi.quality.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.safe.domain.BizRectifyReview;
import com.ruoyi.safe.domain.BizSafeAttach;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 质量问题拆分明细对象 t_quality_file_item
 * 
 * @author mahl2
 * @date 2024-02-05
 */
public class TQualityFileItem extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 质量文件id */
    private Long fileId;

    /** 工单编号年月日时分秒+6位随机数 */
    @Excel(name = "工单编号")
    private String workNo;

    /** 拆分时间 年月日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "拆分时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date splitTime;

    /** 拆分时间 */
    private String splitTimeStart;
    private String splitTimeEnd;

    /** 问题描述 */
    @Excel(name = "问题描述")
    private String questionDesc;

    /** 补充说明 */
    @Excel(name = "补充说明")
    private String supplement;

    /** 数据来源 同问题文件数据来源 读取字典 */
    @Excel(name = "数据来源", dictType = "list_quality_data_source")
    private String dataSource;

    private String dataSourceName;

    /** 数据状态读取字典：0待整改、1待复查、2合格、3无需整改、4未施工 */
    @Excel(name = "数据状态", dictType = "list_quality_data_status")
    private String dataStatus;

    private String dataStatusName;

    /** 整改期限：0超期整改、1到期复查 */
    @Excel(name = "整改期限", dictType = "list_quality_rectification_deadline_status")
    private String rectificationDeadlineStatus;

    private String rectificationDeadlineStatusName;

    /** 问题类型：0实体质量问题、1建设行为问题 */
    @Excel(name = "问题类型", dictType = "list_quality_question_beyond")
    private String questionBeyond;

    private String questionBeyondName;
    /** 原因分析字典：人（管理人员管理问题、施工人员操作问题）、人（管理人员管理问题、施工人员操作问题）等 */
    @Excel(name = "原因分析", dictType = "list_quality_question_analysis")
    private String questionAnalysis;

    private String questionAnalysisName;
    /** 关联质量问题分类id */
    @Excel(name = "关联质量问题分类")
    private Integer questionId;
    private String questionName;

    /** 问题级别，同知识库读取字典 一般问题 、重大问题等 */
    @Excel(name = "问题级别", dictType = "list_quality_level")
    private String questionLevel;

    private String questionLevelName;

    /** 是否返工：0未返工 1返工 */
    @Excel(name = "是否返工", dictType = "list_quality_rework_or_not")
    private String reworkOrNot;

    private String reworkOrNotName;
    /** 是否公开：0不公开 1公开 */
    @Excel(name = "是否公开", dictType = "list_quality_publish_or_not")
    private String publishOrNot;

    /** 整改期限 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "整改期限", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviseTheDates;

    /** 责任区域关联责任区域id */
    private String dutyAreaId;
    @Excel(name = "责任区域")
    private String dutyAreaName;

    /** 成因 */
    @Excel(name = "成因")
    private String questionOrigin;

    /** 检查人 */
    private String checkPeopleId;
    @Excel(name = "检查人")
    private String checkPeopleName;

    /** 整改人 */
    private String revisePeopleId;
    @Excel(name = "整改人")
    private String revisePeopleName;

    /** 复查人 */
    private String reviewUserNameId;
    @Excel(name = "复查人")
    private String reviewUserName;

    /** 通知人 */
    private String notifierId;
    @Excel(name = "通知人")
    private String notifierName;

    /** 检查类型 */
    private String checkType;
    @Excel(name = "检查类型")
    private String checkTypeName;

    /** 整改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "整改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkTime;

    /** 复查时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "复查时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviewTime;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;
    /** 是否能删除标志（2代表不能删除） */
    private String canDel;

    /** 防治措施 */
    @Excel(name = "防治措施")
    private String controlMeasures;

    //主文件获取==
    /** 质量文件编号 */
    @Excel(name = "质量文件编号")
    private String fileCode;

    /** 质量文件名称 */
    @Excel(name = "质量文件名称")
    private String fileName;

    /** 发送单位类型：业主检查、监理检查等 */
    @Excel(name = "发送单位类型", dictType = "list_quality_file_type")
    private String fileType;

    /** 发文单位 */
    @Excel(name = "发文单位")
    private String fileCompanyName;

    /** 文件上传时间 */
    @Excel(name = "文件上传时间")
    private String fileUpTime;
    //主文件获取==

    /** 退回次数 */
    @Excel(name = "退回次数")
    private Integer numOfReturns;

    /** 退回时间 */
    @Excel(name = "退回时间")
    private String returnTime;

    /** 整改完成时间 */
    @Excel(name = "整改完成时间")
    private String rectificationCompletedTime;


    /** 项目id */
    private Long projectId;
    @Excel(name = "项目名称")
    private String projectName;

    /** 图片数量 */
    @Excel(name = "图片数量")
    private String pictureNum;

    /** 登录用户ID */
    private String loginUserId;

    /** 是否过期 */
    @Excel(name = "是否过期")
    private String overdue;

    /**
     * 分包单位
     */
    @Excel(name = "分包单位")
    private String subpackageUnit;

    /**
     * 分包单位名称
     */
    @Excel(name = "分包单位")
    private String subpackageUnitNames;

    /** 延期申请中数量 */
    private String extensionNum;

    /** 延期申请中的申请ID */
    private String extensionId;

    /** 关联质量问题库数据id quality_question_id*/
    private Long qualityQuestionId;

    /** 是否来源于质量问题库：0不是 1是 quality_question_or_not*/
    private String qualityQuestionOrNot;
    /*是否逾期  0未逾期 默认值0 1已逾期*/
    private String fileBeOverdueStatus;

    /*日志查询关联日期*/
    private String time;

    private String fileIds;

    private String reason;
    private String replyOpinion;
    /*延期至*/
    private String extensionTime;
    /*1整改人、2复查人、3既是整改人又是复查人 4正常查看用户*/
    private String userType;
    /*相关附件*/
    private List<BizSafeAttach> attachList;
    /*延期审核状态*/
    private String status;
    /*检查人电话*/
    private String checkPeoplePhone;
    /*整改人电话*/
    private String revisePeoplePhone;
    /*复查人电话*/
    private String reviewUserPhone;

    public String getCheckPeoplePhone() {
        return checkPeoplePhone;
    }

    public void setCheckPeoplePhone(String checkPeoplePhone) {
        this.checkPeoplePhone = checkPeoplePhone;
    }

    public String getRevisePeoplePhone() {
        return revisePeoplePhone;
    }

    public void setRevisePeoplePhone(String revisePeoplePhone) {
        this.revisePeoplePhone = revisePeoplePhone;
    }

    public String getReviewUserPhone() {
        return reviewUserPhone;
    }

    public void setReviewUserPhone(String reviewUserPhone) {
        this.reviewUserPhone = reviewUserPhone;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public List<BizSafeAttach> getAttachList() {
        return attachList;
    }

    public void setAttachList(List<BizSafeAttach> attachList) {
        this.attachList = attachList;
    }

    public String getExtensionTime() {
        return extensionTime;
    }

    public void setExtensionTime(String extensionTime) {
        this.extensionTime = extensionTime;
    }

    public String getQuestionName() {
        return questionName;
    }

    public void setQuestionName(String questionName) {
        this.questionName = questionName;
    }

    public String getDataSourceName() {
        return dataSourceName;
    }

    public void setDataSourceName(String dataSourceName) {
        this.dataSourceName = dataSourceName;
    }

    public String getDataStatusName() {
        return dataStatusName;
    }

    public void setDataStatusName(String dataStatusName) {
        this.dataStatusName = dataStatusName;
    }

    public String getRectificationDeadlineStatusName() {
        return rectificationDeadlineStatusName;
    }

    public void setRectificationDeadlineStatusName(String rectificationDeadlineStatusName) {
        this.rectificationDeadlineStatusName = rectificationDeadlineStatusName;
    }

    public String getQuestionBeyondName() {
        return questionBeyondName;
    }

    public void setQuestionBeyondName(String questionBeyondName) {
        this.questionBeyondName = questionBeyondName;
    }

    public String getQuestionAnalysisName() {
        return questionAnalysisName;
    }

    public void setQuestionAnalysisName(String questionAnalysisName) {
        this.questionAnalysisName = questionAnalysisName;
    }

    public String getQuestionLevelName() {
        return questionLevelName;
    }

    public void setQuestionLevelName(String questionLevelName) {
        this.questionLevelName = questionLevelName;
    }

    public String getReworkOrNotName() {
        return reworkOrNotName;
    }

    public void setReworkOrNotName(String reworkOrNotName) {
        this.reworkOrNotName = reworkOrNotName;
    }

    public String getUserType() {
        return userType;
    }

    public void setUserType(String userType) {
        this.userType = userType;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getReplyOpinion() {
        return replyOpinion;
    }

    public void setReplyOpinion(String replyOpinion) {
        this.replyOpinion = replyOpinion;
    }

    private List<BizSafeAttach> fileIdsArr;

    public List<BizSafeAttach> getFileIdsArr() {
        return fileIdsArr;
    }

    public void setFileIdsArr(List<BizSafeAttach> fileIdsArr) {
        this.fileIdsArr = fileIdsArr;
    }

    public String getFileIds() {
        return fileIds;
    }

    public void setFileIds(String fileIds) {
        this.fileIds = fileIds;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setFileId(Long fileId) 
    {
        this.fileId = fileId;
    }

    public Long getFileId() 
    {
        return fileId;
    }
    public void setWorkNo(String workNo) 
    {
        this.workNo = workNo;
    }

    public String getWorkNo() 
    {
        return workNo;
    }
    public void setSplitTime(Date splitTime) 
    {
        this.splitTime = splitTime;
    }

    public Date getSplitTime() 
    {
        return splitTime;
    }

    public String getSplitTimeStart() {
        return splitTimeStart;
    }

    public void setSplitTimeStart(String splitTimeStart) {
        this.splitTimeStart = splitTimeStart;
    }

    public String getSplitTimeEnd() {
        return splitTimeEnd;
    }

    public void setSplitTimeEnd(String splitTimeEnd) {
        this.splitTimeEnd = splitTimeEnd;
    }

    public void setQuestionDesc(String questionDesc) 
    {
        this.questionDesc = questionDesc;
    }

    public String getQuestionDesc() 
    {
        return questionDesc;
    }
    public void setSupplement(String supplement) 
    {
        this.supplement = supplement;
    }

    public String getSupplement() 
    {
        return supplement;
    }
    public void setDataSource(String dataSource) 
    {
        this.dataSource = dataSource;
    }

    public String getDataSource() 
    {
        return dataSource;
    }
    public void setDataStatus(String dataStatus) 
    {
        this.dataStatus = dataStatus;
    }

    public String getDataStatus() 
    {
        return dataStatus;
    }
    public void setRectificationDeadlineStatus(String rectificationDeadlineStatus) 
    {
        this.rectificationDeadlineStatus = rectificationDeadlineStatus;
    }

    public String getRectificationDeadlineStatus() 
    {
        return rectificationDeadlineStatus;
    }
    public void setQuestionBeyond(String questionBeyond) 
    {
        this.questionBeyond = questionBeyond;
    }

    public String getQuestionBeyond() 
    {
        return questionBeyond;
    }
    public void setQuestionAnalysis(String questionAnalysis) 
    {
        this.questionAnalysis = questionAnalysis;
    }

    public String getQuestionAnalysis() 
    {
        return questionAnalysis;
    }
    public void setQuestionId(Integer questionId) 
    {
        this.questionId = questionId;
    }

    public Integer getQuestionId() 
    {
        return questionId;
    }
    public void setQuestionLevel(String questionLevel) 
    {
        this.questionLevel = questionLevel;
    }

    public String getQuestionLevel() 
    {
        return questionLevel;
    }
    public void setReworkOrNot(String reworkOrNot) 
    {
        this.reworkOrNot = reworkOrNot;
    }

    public String getReworkOrNot() 
    {
        return reworkOrNot;
    }
    public void setPublishOrNot(String publishOrNot) 
    {
        this.publishOrNot = publishOrNot;
    }

    public String getPublishOrNot() 
    {
        return publishOrNot;
    }
    public void setReviseTheDates(Date reviseTheDates) 
    {
        this.reviseTheDates = reviseTheDates;
    }

    public Date getReviseTheDates() 
    {
        return reviseTheDates;
    }
    public void setDutyAreaId(String dutyAreaId) 
    {
        this.dutyAreaId = dutyAreaId;
    }

    public String getDutyAreaId() 
    {
        return dutyAreaId;
    }
    public void setQuestionOrigin(String questionOrigin) 
    {
        this.questionOrigin = questionOrigin;
    }

    public String getQuestionOrigin() 
    {
        return questionOrigin;
    }
    public void setCheckPeopleId(String checkPeopleId) 
    {
        this.checkPeopleId = checkPeopleId;
    }

    public String getCheckPeopleId() 
    {
        return checkPeopleId;
    }
    public void setRevisePeopleId(String revisePeopleId) 
    {
        this.revisePeopleId = revisePeopleId;
    }

    public String getRevisePeopleId() 
    {
        return revisePeopleId;
    }
    public void setReviewUserNameId(String reviewUserNameId) 
    {
        this.reviewUserNameId = reviewUserNameId;
    }

    public String getReviewUserNameId() 
    {
        return reviewUserNameId;
    }
    public void setNotifierId(String notifierId) 
    {
        this.notifierId = notifierId;
    }

    public String getNotifierId() 
    {
        return notifierId;
    }

    public String getCheckType() {
        return checkType;
    }

    public void setCheckType(String checkType) {
        this.checkType = checkType;
    }

    public String getCheckTypeName() {
        return checkTypeName;
    }

    public void setCheckTypeName(String checkTypeName) {
        this.checkTypeName = checkTypeName;
    }

    public void setCheckTime(Date checkTime)
    {
        this.checkTime = checkTime;
    }

    public Date getCheckTime() 
    {
        return checkTime;
    }
    public void setReviewTime(Date reviewTime) 
    {
        this.reviewTime = reviewTime;
    }

    public Date getReviewTime() 
    {
        return reviewTime;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public String getCanDel() {
        return canDel;
    }

    public void setCanDel(String canDel) {
        this.canDel = canDel;
    }

    public void setControlMeasures(String controlMeasures)
    {
        this.controlMeasures = controlMeasures;
    }

    public String getControlMeasures() 
    {
        return controlMeasures;
    }

    public String getDutyAreaName() {
        return dutyAreaName;
    }

    public void setDutyAreaName(String dutyAreaName) {
        this.dutyAreaName = dutyAreaName;
    }

    public String getCheckPeopleName() {
        return checkPeopleName;
    }

    public void setCheckPeopleName(String checkPeopleName) {
        this.checkPeopleName = checkPeopleName;
    }

    public String getRevisePeopleName() {
        return revisePeopleName;
    }

    public void setRevisePeopleName(String revisePeopleName) {
        this.revisePeopleName = revisePeopleName;
    }

    public String getReviewUserName() {
        return reviewUserName;
    }

    public void setReviewUserName(String reviewUserName) {
        this.reviewUserName = reviewUserName;
    }

    public String getNotifierName() {
        return notifierName;
    }

    public void setNotifierName(String notifierName) {
        this.notifierName = notifierName;
    }

    public String getFileCode() {
        return fileCode;
    }

    public void setFileCode(String fileCode) {
        this.fileCode = fileCode;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getFileType() {
        return fileType;
    }

    public void setFileType(String fileType) {
        this.fileType = fileType;
    }

    public String getFileCompanyName() {
        return fileCompanyName;
    }

    public void setFileCompanyName(String fileCompanyName) {
        this.fileCompanyName = fileCompanyName;
    }

    public String getFileUpTime() {
        return fileUpTime;
    }

    public void setFileUpTime(String fileUpTime) {
        this.fileUpTime = fileUpTime;
    }

    public Integer getNumOfReturns() {
        return numOfReturns;
    }

    public void setNumOfReturns(Integer numOfReturns) {
        this.numOfReturns = numOfReturns;
    }

    public String getReturnTime() {
        return returnTime;
    }

    public void setReturnTime(String returnTime) {
        this.returnTime = returnTime;
    }

    public String getRectificationCompletedTime() {
        return rectificationCompletedTime;
    }

    public void setRectificationCompletedTime(String rectificationCompletedTime) {
        this.rectificationCompletedTime = rectificationCompletedTime;
    }

    public Long getProjectId() {
        return projectId;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getPictureNum() {
        return pictureNum;
    }

    public void setPictureNum(String pictureNum) {
        this.pictureNum = pictureNum;
    }

    public String getLoginUserId() {
        return loginUserId;
    }

    public void setLoginUserId(String loginUserId) {
        this.loginUserId = loginUserId;
    }

    public String getOverdue() {
        return overdue;
    }

    public void setOverdue(String overdue) {
        this.overdue = overdue;
    }

    public String getSubpackageUnit() {
        return subpackageUnit;
    }

    public void setSubpackageUnit(String subpackageUnit) {
        this.subpackageUnit = subpackageUnit;
    }

    public String getSubpackageUnitNames() {
        return subpackageUnitNames;
    }

    public void setSubpackageUnitNames(String subpackageUnitNames) {
        this.subpackageUnitNames = subpackageUnitNames;
    }

    public String getExtensionNum() {
        return extensionNum;
    }

    public void setExtensionNum(String extensionNum) {
        this.extensionNum = extensionNum;
    }

    public String getExtensionId() {
        return extensionId;
    }

    public void setExtensionId(String extensionId) {
        this.extensionId = extensionId;
    }

    public Long getQualityQuestionId() {
        return qualityQuestionId;
    }

    public void setQualityQuestionId(Long qualityQuestionId) {
        this.qualityQuestionId = qualityQuestionId;
    }

    public String getQualityQuestionOrNot() {
        return qualityQuestionOrNot;
    }

    public void setQualityQuestionOrNot(String qualityQuestionOrNot) {
        this.qualityQuestionOrNot = qualityQuestionOrNot;
    }

    public String getFileBeOverdueStatus() {
        return fileBeOverdueStatus;
    }

    public void setFileBeOverdueStatus(String fileBeOverdueStatus) {
        this.fileBeOverdueStatus = fileBeOverdueStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("fileId", getFileId())
            .append("workNo", getWorkNo())
            .append("splitTime", getSplitTime())
            .append("splitTimeStart", getSplitTimeStart())
            .append("splitTimeEnd", getSplitTimeEnd())
            .append("questionDesc", getQuestionDesc())
            .append("supplement", getSupplement())
            .append("dataSource", getDataSource())
            .append("dataStatus", getDataStatus())
            .append("rectificationDeadlineStatus", getRectificationDeadlineStatus())
            .append("questionBeyond", getQuestionBeyond())
            .append("questionAnalysis", getQuestionAnalysis())
            .append("questionId", getQuestionId())
            .append("questionLevel", getQuestionLevel())
            .append("reworkOrNot", getReworkOrNot())
            .append("publishOrNot", getPublishOrNot())
            .append("reviseTheDates", getReviseTheDates())
            .append("dutyAreaId", getDutyAreaId())
            .append("dutyAreaName", getDutyAreaName())
            .append("questionOrigin", getQuestionOrigin())
            .append("checkPeopleId", getCheckPeopleId())
            .append("checkPeopleName", getCheckPeopleName())
            .append("revisePeopleId", getRevisePeopleId())
            .append("revisePeopleName", getRevisePeopleName())
            .append("reviewUserNameId", getReviewUserNameId())
            .append("reviewUserName", getReviewUserName())
            .append("notifierId", getNotifierId())
            .append("notifierName", getNotifierName())
            .append("checkType", getCheckType())
            .append("checkTypeName", getCheckTypeName())
            .append("checkTime", getCheckTime())
            .append("reviewTime", getReviewTime())
            .append("delFlag", getDelFlag())
            .append("canDel", getCanDel())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("controlMeasures", getControlMeasures())
            .append("fileCode", getFileCode())
            .append("fileName", getFileName())
            .append("fileType", getFileType())
            .append("fileCompanyName", getFileCompanyName())
            .append("fileUpTime", getFileUpTime())
            .append("numOfReturns", getNumOfReturns())
            .append("returnTime", getReturnTime())
            .append("rectificationCompletedTime", getRectificationCompletedTime())
            .append("projectId", getProjectId())
            .append("projectName", getProjectName())
            .append("pictureNum", getPictureNum())
            .append("loginUserId", getLoginUserId())
            .append("overdue", getOverdue())
            .append("subpackageUnit", getSubpackageUnit())
            .append("subpackageUnitNames", getSubpackageUnitNames())
            .append("extensionNum", getExtensionNum())
            .append("extensionId", getExtensionId())
            .append("qualityQuestionId", getQualityQuestionId())
            .append("qualityQuestionOrNot", getQualityQuestionOrNot())
            .toString();
    }
}
